import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * @Author quan
 * @Description 实现一个登录界面
 * @Date 2023/6/29 19:07 <br></> Html中的br来换行
 */
@WebServlet("/login")
public class LoginInServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //String username
        //String password
        //1、设置编码格式
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset = utf-8");
        //2、获取参数
        String username = req.getParameter("username");//username和前端的name的值对应
        String password = req.getParameter("password");
        //3、校验
        if(username == null || !username.equals("小花花") ||
            password == null || !password.equals("123456")){
            resp.getWriter().write("请输入正确的用户名和密码");
            return;
        }
        //4、登录成功，保存用户的信息到Session中（跳转到另一个界面）
        //（1）获取Session
        //传入True：表示第一次登录的时候(访问后端的时候)，创建一个Session
        HttpSession session = req.getSession(true);
        //（2）将当前用户信息保存到Session中,每次操作的时候都会查找cookie中是否有session信息，
        session.setAttribute("userInfo",username);
        //（3）跳转到payServlet的地址
        resp.sendRedirect("index");
    }
}
/**
 * (1)创建session:   HttpSession session = req.getSession(true);
 * (2)将当前用户信息设置到session:   session.setAttribute("userInfo",username);
 * (3)获取当前用户的session: HttpSession session = req.getSession(false);\
 * (4)判断当前session是否为空：if(session == null){}
 * (5)通过sessionId获取当前session的对象：String username = (String) session.getAttribute("userInfo");
 * (6)进行后续判断
 */
